(previous-matching-history-element): If minibuf is empty,
authorRichard M. Stallman <rms@gnu.org>
Thu, 6 May 1993 18:54:32 +0000 (18:54 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 6 May 1993 18:54:32 +0000 (18:54 +0000)
use the last regexp specified a the default.
(next-matching-history-element): Likewise.

lisp/simple.el

index a991481995d19f5c4e1571b804eb7da7596d64bf..db499b4f5a4fbb72a8f3f9efd69d32f48afd8c9b 100644 (file)
@@ -478,13 +478,18 @@ contains expressions rather than strings.")
 With prefix argument N, search for Nth previous match.
 If N is negative, find the next or Nth next match."
   (interactive
-   (let ((enable-recursive-minibuffers t)
-        (minibuffer-history-sexp-flag nil))
-     (list (read-from-minibuffer "Previous element matching (regexp): "
-                                nil
-                                minibuffer-local-map
-                                nil
-                                'minibuffer-history-search-history)
+   (let* ((enable-recursive-minibuffers t)
+         (minibuffer-history-sexp-flag nil)
+         (regexp (read-from-minibuffer "Previous element matching (regexp): "
+                                       nil
+                                       minibuffer-local-map
+                                       nil
+                                       'minibuffer-history-search-history)))
+     ;; Use the last regexp specified, by default, if input is empty.
+     (list (if (string= regexp "")
+              (setcar minibuffer-history-search-history
+                      (nth 1 minibuffer-history-search-history))
+            regexp)
           (prefix-numeric-value current-prefix-arg))))
   (let ((history (symbol-value minibuffer-history-variable))
        prevpos
@@ -518,13 +523,18 @@ If N is negative, find the next or Nth next match."
 With prefix argument N, search for Nth next match.
 If N is negative, find the previous or Nth previous match."
   (interactive
-   (let ((enable-recursive-minibuffers t)
-        (minibuffer-history-sexp-flag nil))
-     (list (read-from-minibuffer "Next element matching (regexp): "
-                                nil
-                                minibuffer-local-map
-                                nil
-                                'minibuffer-history-search-history)
+   (let* ((enable-recursive-minibuffers t)
+         (minibuffer-history-sexp-flag nil)
+         (regexp (read-from-minibuffer "Next element matching (regexp): "
+                                       nil
+                                       minibuffer-local-map
+                                       nil
+                                       'minibuffer-history-search-history)))
+     ;; Use the last regexp specified, by default, if input is empty.
+     (list (if (string= regexp "")
+              (setcar minibuffer-history-search-history
+                      (nth 1 minibuffer-history-search-history))
+            regexp)
           (prefix-numeric-value current-prefix-arg))))
   (previous-matching-history-element regexp (- n)))